package com.hangxiang.approval.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.hangxiang.approval.common.*;
import com.hangxiang.approval.entity.Apply;
import com.hangxiang.approval.vo.ApplyInfoVo;
import com.hangxiang.approval.vo.ApplyVo;

import java.util.List;

/**
 * 申请表(Apply)表服务接口
 *
 * @author makejava
 * @since 2020-11-23 18:05:07
 */
public interface ApplyService extends IService<Apply> {

    /**
     * 通过ID查询单条数据
     *
     * @param common 主键
     * @return 实例对象
     */
    ApplyVo queryById(IntegerCommon common);


    /**
     * 新增数据
     *
     * @param applyInsertCommon 实例对象
     * @return 实例对象
     */
    Integer insertApply(ApplyInsertCommon applyInsertCommon);

    /**
     * 修改数据
     *
     * @param applyUpdateCommon 实例对象
     * @return 实例对象
     */
    Integer updateApply(ApplyUpdateCommon applyUpdateCommon);


    PageInfo findAll(PageApplyCommon common);



    ApplyInfoVo findApplyInfo(IntegerCommon common);


    void examineApply(ExamineApplyCommon common);


    /**
     *   查询审批列表
     * @param common
     * @return
     */
    PageInfo examineList(ExamineListPageCommon common);

    /**
     *   查询抄送列表
     * @param common
     * @return
     */
    PageInfo duplicateList(ExamineListPageCommon common);


}